查看原文
其他

C语言每日一练(009)

题目

将一个数分解质因数

代码

  1. /*******************************************************************************************************

  2. ** 题 目: 将一个数分解质因数

  3. ** 样例输入:50

  4. ** 样例输出:50 = 2 * 5 * 5

  5. ********************************************************************************************************/


  6. #include <stdio.h>


  7. void SeparateFactor(int n);


  8. int main(void)

  9. {

  10. int n;


  11. while(scanf("%d",&n)!=EOF)

  12. {

  13. SeparateFactor(n);

  14. }


  15. return 0;

  16. }


  17. // 分解质因数

  18. void SeparateFactor(int n)

  19. {

  20. int a = 0;

  21. int array[20], top;


  22. if (n >= 0)

  23. {

  24. a = n;

  25. top = 0;

  26. for (int i=2; i <= n; i++)

  27. {

  28. while (a%i == 0)

  29. {

  30. array[++top] = i;

  31. a /= i;

  32. }

  33. }

  34. printf("%d = ", n);

  35. for(int i = 1; i < top; i++)

  36. {

  37. printf("%d * ", array[i]);

  38. }

  39. printf("%d\n", array[top]);

  40. }

  41. }

运行结果

转发、点在看就是对小编最大的支持!


猜你喜欢

C语言每日一练(006)

C语言每日一练(007)

C语言每日一练(008)



    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存